package com.kpmg.datalake.db.model;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 用户表 PRVG_USR
 *
 * @author Tony
 * @author alex.zhao@kpmg.com
 */
@TableName("PRVG_USR")
public class SysUsr implements Serializable {

  private static final long serialVersionUID = -1133756078700028605L;
  /**
   * 用户ID
   */
  @TableId(type = IdType.UUID)
  private String usrId;
  /**
   * 用户类型ID
   */
  private String usrTpid;
  /**
   * 用户英文名
   */
  private String usrNmEn;
  /**
   * 用户账号
   */
  private String usrAcc;
  /**
   * 用户密码
   */
  private String usrPwd;
  /**
   * 用户邮箱
   */
  private String usrEmail;
  /**
   * 用户电话
   */
  private String usrTel;
  /**
   * 创建日期
   */
  private Date crtDt;
  /**
   * 失效日期
   */
  private Date expDt;
  /**
   * 锁定状态
   */
  private Integer lockSt;
  /**
   * 是否删除
   */
  private Integer delInd;
  /**
   * 创建用户
   */
  private String crtUsrId;
  /**
   * 员工工号
   */
  private String empid;
  /**
   * 员工账号(未加密)
   */
  private String usrName;

  /**
   * 员工账号(未加密)
   */
  private String salt;

  /**
   * 用户项目信息
   */
  @TableField(exist = false)
  private List<Project> projects;

  public String getUsrId() {
    return usrId;
  }

  public void setUsrId(String usrId) {
    this.usrId = usrId;
  }

  public String getUsrTpid() {
    return usrTpid;
  }

  public void setUsrTpid(String usrTpid) {
    this.usrTpid = usrTpid;
  }

  public String getUsrNmEn() {
    return usrNmEn;
  }

  public void setUsrNmEn(String usrNmEn) {
    this.usrNmEn = usrNmEn;
  }

  public String getUsrAcc() {
    return usrAcc;
  }

  public void setUsrAcc(String usrAcc) {
    this.usrAcc = usrAcc;
  }

  public String getUsrPwd() {
    return usrPwd;
  }

  public void setUsrPwd(String usrPwd) {
    this.usrPwd = usrPwd;
  }

  public String getUsrEmail() {
    return usrEmail;
  }

  public void setUsrEmail(String usrEmail) {
    this.usrEmail = usrEmail;
  }

  public String getUsrTel() {
    return usrTel;
  }

  public void setUsrTel(String usrTel) {
    this.usrTel = usrTel;
  }

  public Date getCrtDt() {
    return crtDt;
  }

  public void setCrtDt(Date crtDt) {
    this.crtDt = crtDt;
  }

  public Date getExpDt() {
    return expDt;
  }

  public void setExpDt(Date expDt) {
    this.expDt = expDt;
  }

  public Integer getLockSt() {
    return lockSt;
  }

  public void setLockSt(Integer lockSt) {
    this.lockSt = lockSt;
  }

  public Integer getDelInd() {
    return delInd;
  }

  public void setDelInd(Integer delInd) {
    this.delInd = delInd;
  }

  public String getCrtUsrId() {
    return crtUsrId;
  }

  public void setCrtUsrId(String crtUsrId) {
    this.crtUsrId = crtUsrId;
  }

  public String getEmpid() {
    return empid;
  }

  public void setEmpid(String empid) {
    this.empid = empid;
  }

  public String getUsrName() {
    return usrName;
  }

  public void setUsrName(String usrName) {
    this.usrName = usrName;
  }

  public List<Project> getProjects() {
    return projects;
  }

  public void setProjects(List<Project> projects) {
    this.projects = projects;
  }

  public String getSalt() {
    return salt;
  }

  public void setSalt(String salt) {
    this.salt = salt;
  }

  @Override
  public String toString() {
    return getClass().getName() + JSONObject.toJSONString(this);
  }
}